home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / SOURCE.ZIP / INT10.ASM < prev    next >
Assembly Source File  |  1986-05-29  |  2KB  |  47 lines

  1. DOSCALL   SEGMENT 'CODE'
  2.           ASSUME CS:DOSCALL,DS:DOSCALL
  3. ;
  4. ;Procedure DOSVIO(VAR: AX, BX, CX, DX: Word);
  5. ;
  6. ; Issue a DOS VIDEO I/O INT (10) with register values set by caller
  7. ;
  8. ; FRAME:  ADR   AX; 12
  9. ;         ADR   BX; 10
  10. ;         ADR   CX; 08
  11. ;         ADR   DX; 06
  12. ;         <RET BP>; 00
  13. ;
  14.           PUBLIC DOSVIO
  15. DOSVIO    PROC  FAR
  16.           PUSH  BP             ;Save current BP value
  17.           MOV   BP,SP          ;To address parms
  18.           MOV   DI,[BP+12]     ;Address of AX
  19.           MOV   AX,[DI]        ;Set AX value
  20.           MOV   DI,[BP+10]     ;Address of BX
  21.           MOV   BX,[DI]        ;Set BX value
  22.           MOV   DI,[BP+08]     ;Address of CX
  23.           MOV   CX,[DI]        ;Set CX value
  24.           MOV   DI,[BP+06]     ;Address of DX
  25.           MOV   DX,[DI]        ;Set DX value
  26.  
  27.           INT   10H            ;Call BIOS with caller's AX, BX, CX, DX
  28.  
  29.           MOV   DI,[BP+12]     ;Now put them all back...
  30.           MOV   [DI],AX
  31.           MOV   DI,[BP+10]
  32.           MOV   [DI],BX
  33.           MOV   DI,[BP+08]
  34.           MOV   [DI],CX
  35.           MOV   DI,[BP+06]
  36.           MOV   [DI],DX
  37.  
  38.           POP   BP             ;Restore frame pointer
  39.           RET   6              ;Return, poping 6 bytes
  40.  
  41. DOSVIO    ENDP
  42.  
  43. DOSCALL   ENDS
  44.           END
  45.                                                                       
  46. *** CREATED 06/28/82 21:05:48 BY AMD *** 
  47.